---
title: "FreeBSD 促进项目"
sidenav: about
---

include::shared/zh-cn/urls.adoc[]

= FreeBSD 促进项目

随着 BSD 项目 (DragonFlyBSD、 FreeBSD、 NetBSD， 以及 OpenBSD) 的不断成长， 关于它们的迷思也在逐渐增加。 这其中有一部分是由于人们的误解， 而另一些则是有人故意散布的谣言。

这一页将着力于冷静地拆穿这些迷思。

*注意：* 在这一页中， “*BSD” 是指全部四个 BSD 项目。 对于只针对某一计划的迷思， 则会单独说明。

如果您认为这页中存在错漏， 请与其维护人 Tom Rhodes <trhodes@FreeBSD.org> 联系。

== 目录

* <<closed-model>>
* <<own-distro>>
* <<server>>
* <<old-codebase>>
* <<bsd-war>>
* <<clustering>>
* <<support>>
* <<applications>>
* <<beats>>
* <<beaten>>

== 迷思

[[closed-model]]
=== *BSD项目采用封闭模式进行开发, 比较近于教堂模式

在那篇名为 http://www.catb.org/%7Eesr/writings/cathedral-bazaar/[《大教堂与集市》]的论文中，雷蒙德(Eric Raymond)以 Linux 的开发模式 (他用来开发`fetchmail`) 的模式为例， 说明了开源开发应当如何进行。 与此相对应，*BSD的开发模式一般被定性为封闭的。

这里隐藏的价值判断是：“集市”（开源）开发模式是好的， 而“大教堂”(封闭)开发模式是坏的。

事实上如果说有什么区别的话，*BSD的开发模式大概 **更像**描述的 Linux 或者 `fetchmail`的开发模式。

让我们考虑如下事实：

* **对于所有的 *BSD项目：**当前， FreeBSD, NetBSD,以及 OpenBSD 释出的源代码， 任何人都可以24地从互联网上下载。 你无需等待他人的释出。
+
**FreeBSD, NetBSD:**每 24 小时制作一个可安装的项目当前进展的快照。这些快照就像正常的 release版操作系统一样可以安装， 并不需要安装在现有的系统上。
+
**OpenBSD:**可安装的快照也是每天都产生的， 并且如果Theo认为快照足够好的话，他会把它们上传到OpenBSD的镜像站点上。
+
与之不同的是： Linux 的新内核发布是随心所欲的， Linux 的发行频率取决于不同发行版制造商心血来潮的行动。
+
对于*BSD用户来说， Linux 新内核的每次发布都是不值得宣传的， 因为那是每天都在发生的事情。
* 所有的*BSD项目都使用CVS来管理他们的源代码。
+
**所有的*BSD项目：**都制作了一棵CVS树， 来让任何人24小时地浏览、下载。 我们可以使用匿名的CVS,CVSupip,CTM(通过电子邮件)， 或者通过FTP,来检索源代码。
* 任何人都可以使用安装在他们*BSD系统上的名为 `send-pr`程序，或者使用一个基于web 的工具来提交补丁、错误报告、文档， 或者做出其他的贡献。
+
Pointers to this system litter the documentation.
* 当然并不是每个人都可以把他对*BSD源代码的修改写入 CVS树的。为此你需要先成为__committer__。 一般来说，他们使用`send-pr` 或者其他工具向项目做出了若干经过深思熟虑才产生的贡献，才能成为committer。
+
与 Linux 的机制其实是一样的。 理论上说只有一个人允许改变内核---Linus。 只是对于一些特定领域比如网络部分的代码才委托给其他人。
+
_另外：Nik (nik@FreeBSD.org) 是一个相关的例子。 当他对FreeBSD文档项目和网页做出了一定的贡献之后， 虽然他从没有要求成为committer， 他们大方地给与了该权限以免他老是麻烦别的 committer来把那些变更写入CVS树。_

'''''
[[own-distro]]
=== 你 不能只做你自己的发行版或者从 *BSD派生出一些工作

你可以的。 你只需在文档和源代码中说明代码源自何处。 有一系列派生项目存在着：

* http://www.dragonflybsd.org/[DragonflyBSD] 运行在CD-ROM上的完整的桌面操作系统, 他也能被安装， 但是对那些没有硬盘的计算机极其有用。
* http://www.trustedbsd.org/[TrustedBSD] 对FreeBSD提供了一套可信扩展， 目标是实现 (CC)。 该项目仍在开发中， 并且它的很多代码都已经反馈回 FreeBSD操作系统， 只是二者的开发是独立进行的。
* http://www.freesbie.org/[FreeSBIE] 运行在CD-ROM上的完整的桌面操作系统, 他也能被安装， 但是对那些没有硬盘的计算机极其有用。
* http://frenzy.org.ua/eng/[Frenzy] 另一个“生活” （live-cd） 发行版， 只是为系统管理任务进行了定制。
* http://www.freebsd.org/cgi/man.cgi?query=picobsd[PicoBSD] 经过裁减定制的适应软盘的FreeBSD发行版。 特别适合于把没有硬盘的386 PC机改造成一个路由器或者网络打印机。 他是FreeBSD源代码树的一部分， 参见/usr/src/release/picobsd。
* link:%7Bnanobsd%7D[NanoBSD] 又一个来自FreeBSD的项目， 它能对 FreeBSD 进行裁剪， 以便放到闪存卡或者其他大容量存储器中。 它是 FreeBSD 源代码树的一部分， 参见 /usr/src/tools/tools/nanobsd。
* http://www.tinybsd.org/tinybsd[TinyBSD] shell脚本组成的工具包， 以方便基于FreeBSD 5.x, 6.x的嵌入式开发。
* http://www.thinbsd.org/[ThinBSD] 一个很小的基于FreeBSD的引导镜像， 允许标准PC作为微软windows RDP server 或者X 终端的无盘瘦客户机。 它完全通过DHCP（动态主机配置协议）来配置。
* http://www.pcbsd.org/[PC-BSD] 继承自FreeBSD， 面向桌面， 它被社区设计成易于安装、受到较好的支持的操作操作系统
* http://www.desktopbsd.net/[DesktopBSD] 另一个继承自FreeBSD, 强调桌面易用性的操作系统。
* http://www.gentoo.org/proj/en/gentoo-alt/bsd/fbsd/index.xml[Gentoo/FreeBSD] 该项目移植他们自己的管理工具， 发挥FreeBSD的可信内核、userland长处的成果。 该项目完全不成熟， 是实验性质的。
* http://www.m0n0.ch/wall/[m0n0wall] 一个基于FreeBSD的具有很多昂贵防火墙才具有的特性 （比如web interface, reset to factorydefaults, stateful packet filtering, NAT/PAT redirection, DHCP client and server, cachingDNS forwarder and more） 的防火墙系统。
* http://www.pfsense.com[pfSense] 是一种派生自 m0n0wall 的开源防火墙系统， 它完成了许多目标和特性， 例如 OpenBSD 的 Packet Filter (PF)、 FreeBSD 6.1、 用于提供高性能数据包队列的 ALTQ 支持， 以及一套集成的包管理系统， 用于为该环境扩展新的功能。
* Whistle Interjet： 可以作为路由器、web服务器以其用途的网络工具， 并且可以配置成一个web浏览器, mailhost。它基于 FreeBSD， 并且在保持足够私有权以保持商业生存的条件下向 FreeBSD项目回馈了大量增强代码。

与DragonflyBSD,相似 ，OpenBSD不是一个从新发起的项目， 他源自NetBSD项目， 并且自分化出来那一天就一直在沿着自己的路径在发展着。

'''''

[[server]]
=== *BSD 可以作为一个很棒的服务器，但是是拙劣的 (UNIX(R))桌面

*BSD 可以作为一个很棒的服务器，同样可以做为很优秀的桌面。 服务器必需要的很多东西（迅速响应用户请求，稳定性，系统资源的有效使用） 对于一个桌面机器来说同样是需要的。

*BSD 可以像 Linux 那样使用相同的桌面工具，KDE,GNOME,火狐浏览器， windowmanagers，以及 OpenOffice套件等办公应用程序。

'''''

[[old-codebase]]
=== The BSD 的codebase已经过于陈旧、过时， 并且正在死去。

虽然BSD的codebase 已经20多年了，不过他既没有过时， 更没有死去。 很多专业使用者喜爱FreeBSD提供的久经考验的稳定性。

技术方面的增强仍在不断地被加入到*BSD系统， 这些包括但是不限于：

* SMP: 支持多CPU
* SoftUpdates: 使得BSD的文件系统至少像 Linux 的文件系统一样快， 却 *无需* 引入 “异步写” 以及与之相关的风险。
* 虚拟内存系统：虚拟内存子系统仍在改进。 整合的虚拟内存/缓存设计帮 wcarchive.cdrom.com 这样的系统承受住了成千上万个并发连接。
* 支持的平台： FreeBSD 当前主要支持七种平台： Alpha、 AMD64、 i386、 安腾、 PC-98、 PowerPC 以及 UltraSPARC。 将该项目移植到其他平台的工作仍在进行中。参见http://cnsnap.cn.freebsd.org/zh_CN/platforms/index.html[支持的平台] 获取更多信息。
* MAC Framework: FreeBSD 支持强制访问控制， 一般在昂贵的可信的操作系统才能见到的特性。 FreeBSD为你免费提供高级安全。参见 http://www.trustedbsd.org/[TrustedBSD 项目] 提供了更进一步的可信扩展。
* GEOM classess: GEOM is a modular disk framework that lets you concatenate, mirror, stripe, or encrypt disks. It is rich in functionality and keeps your data safe.

'''''

[[bsd-war]]
=== The *BSD 诸项目彼此在斗争， 每星期都分化出不同群体

不！除了各自的用户者偶尔的激烈的争论以外， *BSD的开发者仍旧在彼此合作的工作着。 比如FreeBSD的alpha平台的移植最初就是高度基于NetBSD团队的工作的。 NetBSD,OpenBSD都使用FreeBSD的ports来管理各自的移植软件库。 FreeBSD，NetBSD都把OpenBSD 团队的安全修正集成到自己的系统中了

FreeBSD和NetBSD“分家”十年多了， OpenBSD与DragonflyBSD是过去 的十年中仅有的分化出来的项目。

*BSD诸项目在各个领域都合作的非常好。 比如，每月一次的出版物http://www.daemonnews.org/[DaemonNews] 就是四大项目成员合作的成果。

'''''

[[clustering]]
=== 你不能使用*BSD作集群系统 （并行计算）

如下的网址给出了反证;

* http://www.epm.ornl.gov/pvm/ The Parallel Virtual Machine is nothing more than a software package that makes setting up a Cluster simple. The source code is freely available, and will run on FreeBSD without much problem.
* http://www.scl.ameslab.gov/Projects/old/ClusterCookbook/
* http://people.freebsd.org/%7Ebrooks/papers/bsdcon2003/fbsdcluster/[http://people.freebsd.org/~brooks/papers/bsdcon2003/fbsdcluster/] Brooks Davis's paper about the implementation of a FreeBSD cluster with more than 300 CPU's
* http://www.onlamp.com/pub/a/bsd/2004/07/01/freesbie.html/ Building a Web Cluster with FreeSBIE (a FreeBSD derivative live-CD system)
* http://www.openbsd.org/faq/pf/carp.html OpenBSD's Common Address Redundancy Protocol (CARP) to build redundant clusters at the level of the firewall
* http://www.countersiege.com/doc/pfsync-carp A good explanation of CARP
* http://pf4freebsd.love2party.net/carp.html OpenBSD's CARP ported to FreeBSD

需要指出的是： 如果要进行FreeBSD在集群方面的深入讨论， 可以使用邮件列表 mailto:freebsd-cluster@FreeBSD.org[freebsd-cluster] 。

'''''

[[support]]
=== *BSD没有商业支持

**FreeBSD:**http://cnsnap.cn.freebsd.org/zh_CN/commercial/consult_bycat.html[FreeBSD Commercial Vendors Page] 列出了给FreeBSD 提供商业支持的公司

http://www.freebsdmall.com/[FreeBSD Mall] 也提供商业支持， 诸如衬衫、帽子、书籍、软件，宣传等等。

培训方面，你可以试试http://www.bsdmall.com/[BSDMall.com], 他们也卖其他的东西，比如衬衫、帽子、书籍、软件等等。相当值得一看。

*OpenBSD:* http://www.openbsd.org/support.html[OpenBSD Commercial Consulting Page] 列出了给OpenBSD提供商业支持的公司

'''''

[[applications]]
===  *BSD没有应用程序

自由软件都可以在SunOS以及类似的主流的BSD上系统运行。 *BSD用户一般情况下可以无需作任何修改即可编译那些为其他类 unix系统编写的软件。

另外，每一个BSD项目都使用ports系统来管理软件， 使得编译移植软件库中软件极其简单。

*FreeBSD:* 当前移植软件库中有13000多个应用程序可以下载和安装。 在 i386 和 AMD64 平台上， 提供了 Linux 模拟层能够运行绝大多数 Linux 应用软件。 而在 AMD64 和 安腾(Itanium) 平台上， 则提供了用于运行 32 位 FreeBSD 二进制程序的兼容层。

*NetBSD:* Linux 模拟层可以运行大部分 i386平台 Linux 的应用程序， 并且大部分SunOS4应用程序能在SPARC工作站上运行。

*OpenBSD:* 当前移植软件库中大概有400多应用程序可以下载与使用。 Linux 模拟层运行大部分 i386平台的 Linux 程序大部分 SunOS4应用程序能在 SPARC工作站上运行。

用户只需很少的努力， NetBSD与OpenBSD就能够运行FreeBSD的移植软件库的程序。 他们很少的移植程序也说明了这一点。

大部分公司把它们的工作迁移到PC Unix平台时最先选择 Linux， 这是事实。 幸运地是， BSD 的 Linux 模拟层能够运行这些程序 （Acrobat, StarOffice,Mathematica, WordPerfect, Quake, Intel ICC compiler, Compaq's Alpha compiler ...） 即使出了问题，也容易解决。

作为一个有历史意义的注记： 带有 Java 支持的第一版 Netscape Navigator是 Linux 版的。 不过，现在你可以使用带有本地版 Java 插件的本地版 Mozilla 的， 那都可以很方便地从移植软件库编译！

'''''

[[beats]]
=== *BSD比(另一个系统)更好

这仅是用户的观点。

'''''

[[beaten]]
=== (另一个系统)比*BSD更好

这仅是用户的观点。

'''''

== 贡献者

FreeBSD, NetBSD, 以及 OpenBSD 项目的一些成员对该文有所贡献；

[cols=",",]
|===
|Nik Clayton <nik@FreeBSD.org> |Jordan Hubbard <jkh@FreeBSD.org>
|Ian F. Darwin <ian@DarwinSys.com> |
|Adrian Filipi-Martin <adrian@ubergeeks.com> |
|Tom Rhodes <trhodes@FreeBSD.org> |
|===
